﻿Imports System.Data
Imports System.Data.SqlClient
Partial Class Sistema_Observaciones
    Inherits System.Web.UI.Page
    Dim mensaje As String
    Dim Exepcion As String
    Dim NumeroError As Integer
    Dim editar As Boolean

    Protected Sub btnGuardar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles btnGuardar.Click

        Try
            Using bd As New BdHogaresDataContext

                Dim Datos As New web_Observacione
                If String.IsNullOrEmpty(hdidObsrevacion.Value) Then
                    Datos.Tabla = Request.QueryString.Item("Tabla")
                    Datos.Campo = Request.QueryString.Item("Campo")
                    Datos.IdRespuesta = Request.QueryString.Item("idrespuesta")
                    Datos.Observacion = txtObservaciones.Text
                    bd.web_Observaciones.InsertOnSubmit(Datos)
                Else
                    Datos = (From a In bd.web_Observaciones
                    Where
                        a.idObservacion = hdidObsrevacion.Value
                    Select a).FirstOrDefault
                    Datos.Observacion = txtObservaciones.Text
                End If
                bd.SubmitChanges()
                bd.registrarLog(Context.User.Identity.Name, 6, Request.CurrentExecutionFilePath)
            End Using
        Catch ex As Exception
            mensaje = "ERROR"
            Exepcion = ex.Message
        Finally
            If Not IsNothing(mensaje) Then
                Using bd As New bdSeguridadDataContext 'calcula el numero de error que sera asignado al usuario
                    Dim a = (From i In bd.web_Errores Select i.idError).Max
                    NumeroError = a.ToString
                End Using

                Using bd As New BdHogaresDataContext
                    bd.registrarLogError(Context.User.Identity.Name, 6, Request.CurrentExecutionFilePath, Exepcion) 'Guarda en la tabla web_errores la exepción
                End Using

                contentmsg.InnerHtml = "<script>mostrarmensaje('Error en el registro de los datos','Ha ocurrido un error guardando los datos, por favor pongase en contacto con el administrador del sistema. <br>EL NÚMERO DE SU ERROR ES:" & NumeroError.ToString + 1 & "' ,'error');</script>"
            Else
                contentmsg.InnerHtml = "<script>alert('Los datos se han guardado de manera exitosa'); window.close()</script>"
                'contentmsg.InnerHtml = "<script>mostrarmensaje('Registro de datos exitoso','Los datos fueron guardados correctamente<br> <br><br><input id=\'Button1\' type=\'button\' value=\'Regresar\' onclick=\'redireccionar(); />','success');</script>"

            End If
        End Try
    End Sub

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Page.IsPostBack = False Then
            'traer observaciones
            Using bd As New BdHogaresDataContext

                Dim o As New web_Observacione
                o = (From a In bd.web_Observaciones
                    Where
                        a.Tabla = Request.QueryString.Item("Tabla") And
                        a.Campo = Request.QueryString.Item("Campo") And
                        a.IdRespuesta = Request.QueryString.Item("idrespuesta")
                    Select a).FirstOrDefault

                If IsNothing(o) = False Then
                    txtObservaciones.Text = o.Observacion
                    hdidObsrevacion.Value = o.idObservacion
                End If
            End Using
        End If
    End Sub
End Class
